home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / examples / functions / whatis < prev    next >
Text File  |  1991-07-07  |  993b  |  52 lines

  1. #
  2. # whatis -- and implementation of the 10th Edition Unix sh builtin `whatis'
  3. #        command.
  4. #
  5. # usage: whatis arg [...]
  6. #
  7. # For each argument, whatis prints the associated value as a parameter,
  8. # builtin, function, alias, or executable file as appropriate.  In each
  9. # case, the value is printed in a form which would yield the same value
  10. # if typed as input to the shell itself.
  11. #
  12.  
  13. whatis()
  14. {
  15.     local wusage='usage: whatis arg [arg...]'
  16.     local fail=0
  17.  
  18.     if [ $# -eq 0 ] ; then
  19.         echo "$wusage"
  20.         return 1
  21.     fi
  22.  
  23.     for arg
  24.     do
  25.         case $(builtin type -type $arg) in
  26.         "alias")
  27.             echo "$(alias $arg)"
  28.             ;;
  29.         "function")
  30.             builtin type "$arg" | sed 1d
  31.             ;;
  32.         "builtin")
  33.             echo builtin "$arg"
  34.             ;;
  35.         "file")
  36.             echo $(type -path "$arg")
  37.             ;;
  38.         *)
  39.             # OK, we could have a variable, or we could have nada
  40.             if [ "$(eval echo \${$arg+set})" = "set" ] ; then
  41.                 # It is a variable, and it is set
  42.                 echo -n "$arg="
  43.                 eval echo \$$arg
  44.             else
  45.                 fail=1
  46.             fi
  47.             ;;
  48.         esac
  49.     done
  50.     return $fail
  51. }
  52.